1. Field of the Invention
The present invention is generally related to computer networks, and more particularly to a computer program product and method for sharing information between multiple computer applications using a grafted model network.
2. Discussion of the Background
In an increasingly global economy, there is a need for computer networks to share information between computer applications and to better adapt to meet the needs of the business enterprise(s) and computer applications using such networks.
Three arrangements that are known in the prior art for sharing information between computer applications are shown in FIGS. 1A-1C. According to these arrangements, separate databases 12a-12e are maintained by computer applications A1-A5. Databases 12a-12e contain the respective computer application's A1-A5 version of the information. Information is periodically communicated between the computer applications A1-A5 by means of messaging and/or other techniques known in the prior art. One or more of the databases 12a-12e are updated based on the received information. In the first arrangement shown in FIG. 1A, the information is directly communicated from one computer application to another computer application. In the second arrangement shown in FIG. 1B, the information is indirectly communicated between the computer applications by means of an enterprise service bus 24. In the third arrangement shown in FIG. 1C, master data management (“MDM”) 34 and business process management (“BPM”) 36 are utilized, and the information is indirectly communicated between the computer application by means of an enterprise service bus 24. MDM 34 comprises a set of processes and tools that manage non-transactional data entities of an organization. BPM 36 comprises a collection of related, structured activities that produce a service or product that meet the needs of a client.
Each of these arrangements are deficient because the information is typically copied or replicated many times. Further, databases 12a-12e contain the respective computer application's A1-A5 own version of the information. Information contained within databases 12a-12e may not be updated on a timely and/or consistent basis for all databases 12a-12e and therefore there likely exists inconsistencies in the information. Further, the information contained within databases 12a-12e is likely to be customized or altered for the particular computer application A1-A5. As such, different information may be stored in databases 12a-12e and the information stored in each of the databases 12a-12e may not be updated to include the most current information. There is therefore no single version of the truth with respect to the information.
Another arrangement that is known in the prior art for sharing information is shown in FIG. 1D. According to this arrangement, enterprise resource planning (“ERP”) 54 is in communication with an enterprise service bus 24. An ERP integrates the data and processes of an organization into one single system. ERP systems will normally include many components, including hardware and software, in order to achieve integration. Most ERP systems use a unified database to store data for various functions found throughout an organization. ERP allows multiple departments or organizations, having different computer applications A1-A5, within a company to utilize the same computer system and data. Typically, computer applications A1-A5 are provided by a single software vendor to handle the different needs of a company's departments and organizations. For instance, the ERP 54 may include computer applications A1-A5 to handle manufacturing, financials, human resources, supply chain management, and the like. Because most ERP systems use a unified database, much of the information is available to all of the computer applications A1-A5 in the ERP 54 using the unified database. However, in situations in which a computer application is utilized that is not a part of the ERP and needs access to the information, such information may be periodically indirectly communicated between the ERP 54 and the computer applications by means of the enterprise service bus 24 and messaging and/or other techniques known in the prior art.
Although this arrangement provides a single version of the truth, and reduced copying and replication, it also includes significant deficiencies. The computer applications utilized in the ERP 54 are very tightly coupled and typically from a single software vendor. As such, there typically exists a dependency on a single software vendor. Such reliance on a single software vendor generally is problematic. Further, the inability to upgrade different “applications” of ERP 54 independent of other applications of the ERP 54 results in long upgrade cycles for the computer applications. Additionally, ERP's are not suited to representing and executing multi-enterprise processes in an optimal way.
ERP known in the prior art included the concept of user-defined fields. However, the user-defined fields known in the prior art do not provide support for the co-existence of multiple independent, independently-developed applications on the ERP. This is because, according to the prior art, user-defined fields names are not scoped by an application, and user-defined fields are not bundled with an application: (a) groups of user-defined fields cannot be separately versioned; (b) cross-model groups of user-defined fields are not packaged as a unit; and (c) cross-model groups of user-defined fields cannot be installed and uninstalled as an atomic unit.
Thus, there currently exist deficiencies in sharing information between multiple computer applications.